Barcode identification systems having a number of barcode printers are known for printing jobs that include barcodes and associated alphanumeric characters on a web of record members such as tags, labels and the like Typically, barcode printers can print jobs in a limited number of formats. The format of a tag or label defines the type of data fields, i.e., bar code fields, alpha fields, numeric fields, etc.; the position of the fields on the tag/label; the font used to print alphanumeric fields if more than one font is available; magnification and rotation factors if any; etc. as is well known to those in the art of barcode identification systems. Printers of various types often have different format options. For example, not all printers can print in the same fonts. Because of the differences in printer format options, a job having a format capable of printing on one printer typically will not print on a printer of a different type.
One known barcode identification system utilizes a number of incompatible barcode printers as well as compatible barcode printers. As used herein, incompatible printers refers to printers that do not communicate in the same language and/or do not have substantially the same format options. In this known barcode identification system, a different queue is provided for each type of printer in the system. Although incompatible printers cannot be assigned to the same queue, each queue can have assigned thereto a number of printers of the same family, i.e., compatible printers that communicate in the same language and are capable of printing data in the same formats The printer-queue assignment in this known system is such that each printer assigned to a queue must be able to print every job listed in that queue. When a printer becomes ready to print, the spooler of this system transfers to that printer the top priority job as identified in the queue to which the printer is assigned. Although this system provides a somewhat even distribution of jobs among compatible printers attached to a given queue, it does not provide load leveling among all printers in the system, i.e., among incompatible printers attached to different queues.
Other spoolers for barcode identification systems are known to distribute jobs in a round robin manner among compatible printers. These systems are even less flexible than the known system discussed above in that no load leveling occurs. More particularly, when distributing jobs to compatible printers in a round robin manner, the spooler assigns a first job to a first printer, the next job to a second printer and so on until the last printer is assigned a job. At this point the spooler returns to the first printer and assigns another job to it, repeating the process until each of the printers has a second job assigned. Assigning jobs to barcode printers in this manner is extremely inefficient since one printer might have a number of very small jobs assigned to it and sit idle for most of a day, whereas another printer might be assigned a number of very large jobs each of which might take an entire day to print.